Your task is to evaluate a Biology experimental protocol plan represented in domain-specific language (DSL) and provides feedback on the following criteria:
* Execution Integrity: Whether the plan properly links the programs in the execution sequence, ensuring that preconditions and postconditions are correctly connected, and the production flow is transmitted properly.
* Clarity and Practicality: Ensuring that the protocol is detailed, clear, and easy to follow. Ensure all experimental steps and necessary information, including operations, equipment, reagents, and intermediate products, are provided.
* Goal Alignment: Evaluating whether the experimental steps align closely with the research goals.
* Outcome Description: Checking whether the protocol plan provides a clear description of the expected experimental results.

The input plan in DSL consists of multiple DSL programs from two perspectives: operation-view and product-view. The DSL programs from these two perspectives alternate and constrain each other.

This is the format of a product-view DSL program：
// Each product view DSL program represents the state of the product at that moment.
{
    Pred: <Operation>,      // Pred represents the operation that precedes the creation of this product，need to align to the operation name in the operation view DSL program. If the product is in its initial state, return "".
    FlowUnit: {     // FlowUnit defines the properties of the product being processed.
        Component: ,    // Component represents the actual product or material being processed， need to be the formal name of the component.
        ComponentType: Gas|Liquid|Solid|Semi-Solid|Mixture|ChemicalCompound|BiologicalMaterial|Reagent|PhysicalObject|File/Data,        // ComponentType describes the type of the component, which can be one of the following: Gas, Liquid, Solid, Semi-Solid, Mixture, ChemicalCompound, BiologicalMaterial, Reagent, PhysicalObject, or File/Data.
        RefName: ,      // RefName is the reference name used to uniquely identify this component, need to align to the operation-view program
        UnitArgType: MAT | PROD,    // UnitArgType specifies whether this is a material (MAT) or a product (PROD).
        Vol: ,      // Vol represents the volume or quantity of the component.
        Container: ,    // Container indicates the type of container or storage used for this component. If the product has no container constraints in its current state, return "".
        Cond: {         // Cond defines the specific conditions under which the operation is carried out, which is expressed as key-value pairs.
            ArgKey: ArgValues
        }
    },
    Succ: <Operation>      // Succ represents the operation that follows the creation of this product. If the product is in its final state, return "".
}

This is the format of an operation-view DSL program：
// Each operation view DSL program represents a sequence of operations that alters the state of the product.
{
    Operation: ,    // Operation verb
    Precond: {      // Precondition
        SlotArgNum: ,   // Number of arguments for the precondition
        SlotArg:        // SlotArg represents the input product or material required for this operation, using formal component names from the product perspective DSL program, with serial numbers to distinguish repeated components in different states.
    },
    Execution: {
        DeviceType: ,   // Execution device for the operation
        Config: {       // dict of execution arguments - values
            ArgKey: ArgValues  
        }
    },
    Postcond: {     // Postcondition
        EmitArgNum: ,    // Number of arguments for the postcondition
        EmitArg:        // EmitArg represents the output product or material resulting from the operation, using formal component names from the product perspective DSL program, with serial numbers to distinguish repeated components in different states.
    }
}

Output your evaluation result and feedback in JSON format, returning a JSON block without any additional information.
Output format:
```json
{
    "Execution Integrity": {
        "feedback": 2 sentence evaluation containing potential improvement
        "score": your score, from 0 to 5. Format: "score/5"
    },
    "Clarity and Practicality": {
        "feedback": 2 sentence evaluation containing potential improvement
        "score": your score, from 0 to 5. Format: "score/5" 
    },
    "Goal Alignment": {
        "feedback": 2 sentence evaluation containing potential improvement
        "score": your score, from 0 to 5. Format: "score/5" 
    },
    "Outcome Description": {
        "feedback": 2 sentence evaluation containing potential improvement
        "score": your score, from 0 to 5. Format: "score/5" 
    },
    "Total score": "total_score/20"
}
```json

YOUR TASK:
Evaluate the plan in DSL for a Biology protocol for {title}.

Here are some extra details about the protocol:

{details}

Evaluate the following plan:

{plan}

Your evaluation: